A Tool for Automated Theorem Proving in Agda
نویسندگان
چکیده
We present a tool for automated theorem proving in Agda, an implementation of Martin-Löf’s intuitionistic type theory. The tool is intended to facilitate interactive proving by relieving the user from filling in simple but tedious parts of a proof. The proof search is conducted directly in type theory and produces proof terms. Any proof term is verified by the Agda type-checker, which ensures soundness of the tool. Some effort has been spent on trying to produce human readable results, which allows the user to examine the generated proofs. We have tested the tool on examples mainly in the area of (functional) program verification. Most examples we have considered contain induction, and some contain generalisation. The contribution of this work outside the Agda community is to extend the experience of automated proof for intuitionistic type theory.
منابع مشابه
Integrating Automated and Interactive Theorem Proving in Type Theory
We introduce an approach of integrating automated theorem proving techniques into the interactive theorem prover Agda. Our approach is generic and flexible, and can be combined with dependently typed programming. We have implemented the special cases of SAT solving and CTL model checking. The tool has been used for verifying the correctness of railway interlocking systems.
متن کاملAgda as a platform for the development of verified railway interlocking systems
This thesis identifies a technological framework that aids the development of verified railway interlocking systems in the Agda theorem prover. The thesis is in two parts, Part I deals with integrating interactive and automated theorem proving in type theory, and Part II addresses verification in the
متن کاملIntegrating an Automated Theorem Prover into Agda
Agda is a dependently typed functional programming language and a proof assistant in which developing programs and proving their correctness is one activity. We show how this process can be enhanced by integrating external automated theorem provers, provide a prototypical integration of the equational theorem prover Waldmeister, and give examples of how this proof automation works in practice.
متن کاملCombining Interactive and Automatic Reasoning in First Order Theories of Functional Programs
We propose a new approach to the computer-assisted verification of functional programs. We work in first order theories of functional programs which are obtained by extending Aczel’s first order theory of combinatory formal arithmetic with positive inductive and coinductive predicates. Rather than building a special purpose system we implement our theories in Agda, a proof assistant for depende...
متن کاملVerifying Haskell programs by combining testing, model checking and interactive theorem proving
We propose a program verification method that combines random testing, model checking and interactive theorem proving. Testing and model checking are used for debugging programs and specifications before a costly interactive proof attempt. During proof development, testing and model checking quickly eliminate false conjectures and generate counterexamples which help to correct them. With an int...
متن کامل